package cm

import "errors"

var (
	//Accout config error
	//ErrNewAcc is return when the  pool account transfers money to a new user account
	ErrAccInit = errors.New("invalid account's config")

	//ErrAccGas is return when user's balance not enough
	ErrAccGas = errors.New("invalid accout's balance")

	//ErrAccNonce is return when send discontinuous transaction.
	ErrAccNonce = errors.New("transaction nonce unsorted")

	//Transaction execute error
	//ErrTxTimeout is return when transaction has been keeping in txpool over 3 min
	//When apiServer receives n sets of data in a request,its deadline time is equal to n/100 *3 min
	ErrTxTimeout = errors.New("transaction overtime")

	//ErrTxMissing is return when transaction was lost before.
	ErrTxMissing = errors.New("transaction lost")

	//ErrTxExisting is return when a group of chain data storaged to contract, but we lose its transaction
	ErrTxExisting = errors.New("transaction controversial")

	//ErrChainStatus is return when transaction haven't committed but receive its log
	ErrTxPending = errors.New("transaction pending")

	//ErrInvaildTxs is return when transaction can't execute successfully whatever
	ErrTxInvalid = errors.New("transaction invalid")

	//Network error
	//ErrNetwork is when picochain can't provide common function
	ErrNetwork = errors.New("opreate picochain failed")

	//Contract error
	ErrCtrCall = errors.New("invalid contract index")
)
